<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<!--快速排序
		解析：快速排序是对冒泡排序的一种改进，
		第一趟排序时将数据分成两部分，一部分比另一部分的所有数据都要小。
		然后递归调用，在两边都实行快速排序。-->
		<script type="text/javascript">
			function quickSort(elements){
				console.log(elements);
				if (elements.length <= 1) {
					return elements;
				}
				var pivotIndex = Math.floor(elements.length / 2);
				console.log(pivotIndex);
				var pivot = elements.splice(pivotIndex, 1)[0];
				console.log(pivot);
				var left = [];
				var right = [];
				for (var i = 0; i < elements.length; i++) {
					if (elements[i] < pivot) {
						left.push(elements[i]);
					} else{
						right.push(elements[i]);
					}
				}
				console.log(left);
				console.log(right);
				return quickSort(left).concat([pivot], quickSort(right));
			};
			var elements = [5, 6, 2, 1, 3];
			document.write(quickSort(elements));
		</script>
	</body>
</html>
